git只想提交某一个文件 您所在的位置:网站首页 git 不想提交某个文件怎么办 git只想提交某一个文件

git只想提交某一个文件

2024-07-11 14:54| 来源: 网络整理| 查看: 265

git只想提交某一个文件

许多人在尝试在本地修改某些代码而未将更改找到进入远程存储库或生产的方式时,向我征求意见。 这使我意识到在理解Git是什么以及它如何工作方面存在一定的差距。

当您执行“ git clone”时,您的意思是“我想为远程存储库中的项目做出一些贡献”(或分叉它,但这是另一个用例,实际上并不是大多数用户都感兴趣的用例)您,因此我们将忽略它)。 Git将远程存储库复制到本地计算机,并将您的副本标记为从中克隆的存储库的远程跟踪分支 。

当您的更改达到对系统的有意义的,原子性的更改后,您可以使用“ git commit”将它们提交到本地存储库中。 这样,您说的是“ Gee,这看起来像个好主意,我想将其贡献给项目。 我不知道什么时候我会物理地将我的副本寄回原始存储库,但我绝对希望它到达那里 。” 然后,在某个时候,您使用'git push'将您的更改发送到远程存储库,从而说“我已经达到了原始项目需要/可以使用我的作品的时间点,所以现在就将其发送到那里”。 在大多数情况下,您必须使用自克隆/自上次更新以来在远程存储库中发生的更改来更新本地副本。 您可以通过使用“ git pull”(或“ git pull –rebase”,如果愿意,像我一样,使用rebase而不是merge)来做到这一点。 将本地存储库与远程存储库合并/重新绑定后,您可以推送更改,使产品人员很高兴您的更改最终可用于测试/部署。

所有这些都是很有趣的,但是如果您想进行一些临时的本地更改而又不想与远程存储库合并,那该怎么办。 如果您正在使用新文件,则可以将其添加到本地.gitignore文件中,从而使Git永久忽略该文件。 但是,如果您只是修改一些预先存在的文件,那么您就不走运了–您只需要编辑文件,切记不要提交 。 很好,除非必须从远程存储库中提取更改,然后Git爆炸告诉您有一些未提交/未跟踪的更改。 此时,您必须“暂时取消”更改,以便Git可以成功完成拉取。 正确的方法是使用“ git stash”。 这将使所有本地的,未提交的更改暂时消失,直到您调用“ git stash apply”为止,然后它将本地更改与远程存储库中的最新更新合并。

当然,您总是可以提交更改,从远程存储库中提取,然后还原您的提交,但这有点像用棒球棍将海豹打死。 您只是不这样做,无论您的精神错乱听起来多么诱人。

综上所述:

您的本地存储库是远程存储库的完整副本。 这不是工作副本。 当您提交文件时,您是在说“此更改最终应在生产中实现”。 当您将本地存储库推送到远程存储库时,您的意思是“产品肯定会立即使用我惊人的新代码”。 如果您不希望更改投入生产, 请不要提交 。 如果由于未跟踪的本地更改而在合并/重新设置方面遇到麻烦,请执行以下操作: git存储 git pull / git pull –rebase 确保操作成功完成。 在执行一次拉动之后,您应该阅读Git报告中的内容,通常它会告诉您一些冲突,这些冲突会使您的基础变少。 在这种情况下,您应该修改冲突并使用'git rebase –continue'继续进行重新设置。 git stash适用

参考: Git:承诺vs.推动vs.藏匿–或: Wix IO博客上来自我们JCG合作伙伴 Shai Yallin的“如果我只想在本地工作怎么办” 。

翻译自: https://www.javacodegeeks.com/2012/12/git-committing-vs-pushing-vs-stashing-or-what-to-do-if-i-just-want-to-work-locally.html

git只想提交某一个文件



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有